Synthesizing Framework Uses from Program Behavior Data
نویسندگان
چکیده
This thesis presents MATCHMAKER, a new synthesis tool that aims to help programmers use software frameworks by synthesizing source code needed to interact with the framework. Software engineers of today are constantly faced with the task of using or extending large software code bases. This proves to be a challenging endeavor, as objectoriented frameworks tend to grow exceedingly intricate. Functionality is spread out among numerous classes and tailoring it for a specific need requires knowledge of exact components to extend and combine. MATCHMAKER is presented to help programmers understand such complex behavior, especially, to help deal with one common task in using frameworks: connecting two classes so that they can interact with each other. Taking as input two classes that the programmer want to connect, MATCHMAKER observes many real runs of the framework, aggregates relevant execution traces in which similar connections are built by client-framework interactions, and synthesizes the necessary source code the user needs to write to make the connection possible. MATCHMAKER relies on the hypothesis that the logical connection between two objects is fulfilled by a chain of pointer references linking them together, and the earliest possible pointer reference chain (called Critical Chain) is critical to the logical connection. MATCHMAKER employs a new program behavior data engine (called DELIGHT) to find the critical chain, uses a special slicing algorithm to dig out the relevant instructions which form the client-framework protocol from the critical chain, and synthesize the client code from the slices. In this thesis we also demonstrate MATCHMAKER's capability on a range of programming tasks using complex software frameworks such as Eclipse, and evaluate MATCHMAKER's usability and its improvement to programming efficiency by comprehensive user study. Thesis Supervisor: Armando Solar-Lezama Title: Assistant Professor
منابع مشابه
Synthesizing Eecient Out-of-core Programs for Block Recursive Algorithms Using Block-cyclic Data Distributions
In this paper, we present a framework for synthesizing I/O eecient out-of-core programs for block recursive algorithms, such as the fast Fourier transform (FFT) and block matrix transposition algorithms. Our framework uses an algebraic representation which is based on tensor products and other matrix operations. The programs are optimized for the striped Vitter and Shriver's two-level memory mo...
متن کاملSynthesizing E cient Out - of - Core Programs for BlockRecursive Algorithms using Block - Cyclic Data DistributionsyZhiyong
In this paper, we present a framework for synthesizing I/O eecient out-of-core programs for block recursive algorithms, such as the fast Fourier transform (FFT) and block matrix transposition algorithms. Our framework uses an algebraic representation which is based on tensor products and other matrix operations. The programs are optimized for the striped Vitter and Shriver's two-level memory mo...
متن کاملSynthesizing Efficient Out-of-Core Programs for Block Recursive Algorithms Using Block-Cyclic Data Distributions
ÐIn this paper, we present a framework for synthesizing I/O efficient out-of-core programs for block recursive algorithms, such as the fast Fourier transform (FFT) and block matrix transposition algorithms. Our framework uses an algebraic representation which is based on tensor products and other matrix operations. The programs are optimized for the striped Vitter and Shriver's twolevel memory ...
متن کاملGuiding Evolutionary Learning by Searching for Regularities in Behavioral Trajectories: A Case for Representation Agnosticism
An intelligent agent can display behavior that is not directly related to the task it learns. Depending on the adopted AI framework and task formulation, such behavior is sometimes attributed to environment exploration, or ignored as irrelevant, or even penalized as undesired. We postulate here that virtually every interaction of an agent with its learning environment can result in outcomes tha...
متن کاملIndividual Behavior as a Pathway Between Early-Life Shocks and Adult Health: Evidence from Hunger Episodes in Post-War Germany
We investigate long-run effects of episodes of hunger experienced as a child on health status and behavioral outcomes in later life. We combine self-reported data on hunger experiences from SHARELIFE, a retrospective survey conducted as part of SHARE in Europe in 2009, with administrative data on food supply (caloric rations) in post-war Germany. The data suggest that individual behavior is a p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011